23

» WarCraft 3 / Помогите с текстурами модели

Похожие вопросы:

ответ
Свершылось... Заработало...
Вот оно.

Описание проверки:
  • проверил в редакторе, он просто вылетает при попытке настройки в РО;
  • переконвертировал в .mdl и осмотрел, все норм;
  • открыл в War3ModelEditore, удалил лишние текстуры, материалы, настроил анимации геосетов;
  • профит.
Если кто не верит, вот скрин.
ответ
~2Serious4Die:
ENAleksey:
Попробуй в mdlvis'е увеличить модель в 10 раз, сохрани, открой в war3 me, рассчитай границы, сохрани, опять зайди в mdlvis и уменьши модель в 10 раз.
Может помочь, а может и нет. Другого способа пока нет.
вообщем там проблема оказалась в другом, расчет границ помогал, просто я стандартные модели деревьев пытался заменить на отредактированные , но они не менялись.
ответ
Viktor2, а ты реально импортировал все текстуры (в кол-ве 21шт ) в карту? Если хотя бы одну забыл -модель не будет отображаться.
ответ
ENAleksey, ну я же не могу твою модификацию запихнуть в карту.
ответ
После добавления новых файлов в менеджер импорта, нужно сохранить карту или перезапустить редактор. Если после этого все равно зеленый квадрат - вы сделали что-то не правильно.

23

» WarCraft 3 / UI-инвентарь

Похожие вопросы:

ответ
если хотите ссылку вот xgm.guru/p/wc3/unliminv?postid=291866
а может не тот не помню век прошел =)
ответ
~8gabriel8:
По идее можно триггерно добавлять предмет в инвентарь, если отдан приказ выложить его в позицию юнита.
ответ
~8gabriel8:
Нету в карте триггера на стакание предмета, но есть непонятный триггер дропа:
Как понимаю, он должен работать лишь для определённого вида героев, которых автор зачем-то удалил, но не суть, главное, что вообще нет триггера на стакание предметов. Зато есть Руна Исцеления, которую советовал Bergi_Bear, есть две хилки, которые советовал PT153.
Александр19, не верю, что ты вообще нуб в триггерах, так как что-то там составляешь, скорее ты просто удалил триггер из неё, ради которого у тебя карту и просили. Честно скажу, что ты неадекватный. Но мы здесь не для диагнозов, а чтобы на вопросы отвечать, потому вот здесь xgm.guru/p/wc3/193169 возьми систему сложения и разъединения предметов, оттуда скопируй себе в карту триггеры PickUp, AddOrDiv и включи их. Там всё подробно описано, просто сменишь Камень Здоровья на свою хилку. А главное, дроп происходит из-за триггеров OgrItemBoss2 и OgrItemBoss3.
Отключи их.
ответ
массив из пяти типов предметов, при событии "юнит получает предмет" смотрим наличие предмета с типом из массива в каждом слоте по очереди, если есть хоть один, то выбрасываем полученный предмет на землю

23

» WarCraft 3 / Крашится редактор старых версий

Похожие вопросы:

ответ
Smart096, баг только в этой карте?
в новых картах бага нету?
если да то стоит проверить импортируемые модели и текстуры (мб часть битая)
но с вероятностью в 60% проблема в системе ибо было много жалоб на баги в вин10

23

» WarCraft 3 / Помогите найти ошибку в триггере

Похожие вопросы:

ответ
call BJDebugMsg(string) отладка в редакторе.
ответ
Юнитов поднимает тогда же, когда и опускает, потому что я удаляю их из DedG[3], но забываю удалить из группы снарядов, таким образом, к тем кто попал под падение, уже навечно задействован акт снарядов(опускание), пока они в DedG[3]
ответ
Способности выбирающие кого добавлять на основе чего сделаны?

23

» WarCraft 3 / Круг выбора

Похожие вопросы:

ответ
ручками попробуй выровнять их
ответ
Прикрепляю.
ответ
Графика - шкала выбора
ответ
EnableSelect( true, false )
если я правильно понял
затем если нужно включить, то в конец ставится true

23

» WarCraft 3 / Проблема с условием

Похожие вопросы:

ответ
Есть проверка IsUnitDead, где проверяется тип и состояние IsUnitType(u, UNIT_TYPE_DEAD) но никогда не было проблем с проверкой хп.
Так же насколько я помню GetWidgetLife( unit ) > 0.0 или GetUnitState( unit, UNIT_STATE_LIFE ) > 0.405.
ответ
~8gabriel8:
Пока нет желания разбираться, что у тебя так, а что не так. Но вижу, что переменная Window не назначена окну, а ещё как бы создаются в цикле одновременно 10 окон, которые потом все одновременно ждут 50 секунд. Вот скрин действий триггера вместо двух твоих, секунда ожидания поставлена для того, чтобы увидеть пропадание окна таймера.
ответ
~8gabriel8:
Это событие срабатывает лишь при старте карты, чтобы сделать срабатывание, когда после потасовки остаётся один юнит, логично было бы сделать событие Generic unit Умирает. В условии учитываются не только живые юниты, но и их трупы, пока не разложатся, то есть будет срабатывать событие юнит Умирает, в условии юнитов в области будет больше 1, так как будут считаться мёртвые юниты, триггер так и не будет срабатывать, если через минуту какой-то юнит на карте не умрёт. Потому в условии нужно указывать не просто юнитов в области, а юниты в области matching condition, где поставишь (Matching unit) is alive равно Да. А чтобы не учитывались здания и призванные юниты, нужно вместо условия (Matching unit) is alive равно Да выбрать в низу списка And, появится два условия, в первое ставишь (Matching unit) is alive равно Да, во второе опять And и аналогично выбираешь, (Matching unit) is Здание равно Нет и что-то такое же на призванных (summon).
Только в действии тоже укажи, что живой, не Здание и не призванный, а то кого-то из них может убить.
ответ
Остальные не помню, откуда.
Сборку игры я спрашивал.
WAGARAX:
Время - 1.1 сек
Верни 5 секунд в игровых константах.
А ещё перезагрузи компьютер.

23

» WarCraft 3 / Оптимальная реализация события каста

Похожие вопросы:

ответ
Ну, перенеси всё это clawbfs.ucoz.ru/forum/3-2-1 и итемы и две игровые карты с кучей режимов и сотни шапок и т. д. + в 2 раза больше новых идей clawbfs.ucoz.ru/forum/7 clawbfs.ucoz.ru/forum/16-1571-1 clawbfs.ucoz.ru/forum/9 со всеми функциями варкрафта (а их там всё же не так уж и мало) в игру на юнити или ещё куда в один присест, сделай дело доброе.
Бтв, про сбор команды - для продвинутых сущностей нередко исправлять за другими оказывается тяжелее, чем делать самому, важно создать максимально комфортные условия для созидания, вот для чего деньги не лишние, а уж дело и самому можно делать.
И, да, тема-то не про то, надо это или не надо, а про то, как лучше это сделать, я про это и в стартовом сообщении написал.
Я на крайний сам вопрос по варианту 3 проверю и/или будет сделан выбор между третьим вариантом, вторым, каким-то ещё и отказом от Cooldown Reduction, но если кто поможет - спасибо.
ответ
то скорость разная, то вылетают не из героя а из какой то псевдо центральной точки
в общем я полностью добился желаемого результата, никакого прерывания, ни каких лагов и странных поведений (то что снаряды врезаются в трупы так и задумано =))
вот мой код
//! beginusercode

--какие то общие функции
function MoveX (x,  Dist,  Angle)
    return x+Dist*Cos(Angle*0.0175)
end
function MoveY (x,  Dist,  Angle)
    return x+Dist*Sin(Angle*0.0175)
end
function AbilityId(id)
    return id:byte(1) * 0x1000000 + id:byte(2) * 0x10000 + id:byte(3) * 0x100 + id:byte(4)
end

function Out(x,y)
    return ( ( GetRectMinX(bj_mapInitialPlayableArea) <= x ) and ( x <= GetRectMaxX(bj_mapInitialPlayableArea) ) and ( GetRectMinY(bj_mapInitialPlayableArea) <= y ) and ( y <= GetRectMaxY(bj_mapInitialPlayableArea) ) ) or IsTerrainPathable(x, y, PATHING_TYPE_WALKABILITY) == false
end

GetTerrainZ_location = Location(0, 0)
function GetTerrainZ(x,y)
    MoveLocation(GetTerrainZ_location, x, y);
    return GetLocationZ(GetTerrainZ_location);
end

function ehandler( err )
    print( "ERROR:", err )
end
--/////// глобалки (хотя какая разница где объявить то)
perebor=CreateGroup()

--/////// триггер

    local trigger = CreateTrigger()
    for i = 0, bj_MAX_PLAYER_SLOTS - 1, 1 do
        TriggerRegisterPlayerUnitEvent(trigger, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT)
    end
    TriggerAddCondition(trigger, Condition(function() return
        GetOwningPlayer(GetTriggerUnit()) == Player(0)
    end))
local d=0
TriggerAddAction(trigger, function()
    local u=GetTriggerUnit()
    local z=GetTerrainZ(GetUnitX(u),GetUnitY(u))
        print("perodstart")
        TimerStart(CreateTimer(), 0.1, true, function()
        d=d+1

 --print("abiclick "..d)
 -- будущая фукция запуска снаряда
 local x=GetUnitX(u)
 local y=GetUnitY(u)
 local eff=AddSpecialEffect("Abilities\\Weapons\\DemolisherFireMissile\\DemolisherFireMissile.mdl", x, y)
 local d2=1000
 local a=GetUnitFacing(u)

 TimerStart(CreateTimer(), 0.032, true, function()
 d2=d2-10
 x=MoveX(x,25,a)
 y=MoveY(y,25,a)
 BlzSetSpecialEffectPosition(eff, x, y, GetTerrainZ(x,y)+30)
-- урон
local e=nil
GroupEnumUnitsInRange(perebor,x,y,80,null)
while true do
	e = FirstOfGroup(perebor)
	if e == nil then break end
if IsUnitEnemy(e, GetOwningPlayer(u)) then
    UnitDamageTarget( u, e, BlzGetUnitBaseDamage(u, 1), false, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE, WEAPON_TYPE_WHOKNOWS )
   -- print("наносим урон")
    DestroyEffect(eff)
    eff=nill 
end

	GroupRemoveUnit(perebor,e)
end

--print(d2)

 if d2<=0 or  Out(x,y)==false or eff==nil then
  --  print("УМРИ!")
    DestroyEffect(eff)
    DestroyTimer(GetExpiredTimer())
 end

 end)

    end)
end)





//! endusercode
а вот и карта
Выражаю огромную благодарность NazarPunk, и Prog за оказанную помощь и наставления
Выводы:
Более навороченные (в техническом плане) способы не всегда самые оптимальные
Точно также можно двигать эффекты и на мемхаке, так что 126 пат так же может удостоится высокой производительностью для огромного количества снарядов
Мой комп держит на 1 экране около 700 объектов в режиме 60+ FPS (с отключенной вертикальной синхронизацией, это когда макс фпс за 200)

23

» WarCraft 3 / Дроп предметов из инвентаря героя

Похожие вопросы:

ответ
Ну задай рандомную переменную от 1 до 6 и дропай предмет из слота под этим номером
Единственная проблема - если у носильщика меньше 6 слотов, то появляется вероятность не дропнуть ничего, ну тут можно циклом как-то, типа если дропнутый предмет = нет предмета, повторить (ток еще, чтобы цикл не мог стать вечным, проверить, что у юнита хоть 1 предмет вообще есть)

23

» WarCraft 3 / Визуальная перезарядка пассивной способности

Похожие вопросы:

ответ
Naadir, Ну хаком на память, чтобы совсем пассивка не кликабельная, только мемхак. Ну есть еще костыль с перерождением, если убить его владельца то пойдет кд. Иначе костыль с активкой.
ответ
на основе эксгумация труповозок можно сделать пасивки с колдаунами
вот наработка

23

» WarCraft 3 / Герои

Похожие вопросы:

ответ
Лучший вариант - морф через руну
ответ
Я же делал наработку выбора героев на GUI. Можете там посмотреть.
ответ
Поставить лимит на героя. Действия - Игрок - Установить лимит...

23

» WarCraft 3 / Заклинания

Похожие вопросы:

ответ
Steal nerves:
не ясно какая проблема. хочешь чтобы не смешивалось содержимое внутри спелбуков? меняй приказ у спелбуков см. тему
ответ
Так же как уровень любой способности - Set Level Of Ability/Increase Level Of Ability.
Если спеллбук предметметный, уровень сбросится если выбросить книгу.
ответ
Black Soul:
Сначала добавь все способности, которые тебе нужны, в книгу заклинаний. Во время инициализации карты заблокируй для игрока способности, которые открываются при выполнении заданий.
После выполнения заданий разблокируй их.
ответ
~8gabriel8:
Там есть для Игрока (или Игры) действие Force UI Key. Назначаешь горячую клавишу книге и при событии выбора указываешь в этом действии свою клавишу.
Только событие выбора может реагировать с небольшой задержкой, достаточной, чтобы рассмотреть кнопки на панели приказов. Если это надо обойти, есть два варианта:
  • периодическим таймером на 0.03 секунды проверять, выбран ли юнит;
  • сделать два одинаковых типа юнитов, один из которых с классификацией страж, при выборе стража накладывать морф и открывать книгу (может потребоваться задержка), при снятии выбора накладывать обратный морф. Статья про морфы есть у quq_CCCP.

23

» WarCraft 3 / Не выпадающие предметы.

Похожие вопросы:

ответ
ответ
Stalker5500, как ты описал- должно работать.
Только сделай в событие либо только Нейтрально-враждебный умирает, либо Событие- боевая единица умирает, а в условие- Владелец умирающего - Нейтрально-враждебный.
А дальше в действиях есть такая конструкция в разделе Общие параметры if/then/else. Используй ее и будет тебе счастье

23

» WarCraft 3 / Рудник

Похожие вопросы:

ответ
~8gabriel8:
Если изменить не получается, то можно триггерно добавить. Категория Нейтральное здание.
ответ
В редакторе спокойно ставится, а вот в самой игре раб не может поставить ферму близко к руднику)
Это захардкожено в самой игре. Если изменение карты путей ратуши не поможет, то уже ничего не поможет.
ответ
Black Soul:
Оплетенные рудники считаются транспортом. Светлячков, которые находятся в них, можно отловить условиями Unit Is Being Transported и Unit Is In Transport.
ответ
NazarPunk, сам уже обнаружил и описал, почему так выходит.
Решение, увы, только с помощью триггеров:
  • Нужно создать юнита через Действия - Боевая единица - Создать.
  • Затем становить количество золота через Действия - Нейтральное строение - Добавить Х золота Последнему созданному юниту.
Карта-пример:

Так что проблема в тупом редакторе, который ставит любого юнита со способностью Blighted Gold Mine с помощью CreateBlightedGoldmine.

23

» WarCraft 3 / Не проигрывается звук с триггера

Похожие вопросы:

ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
ответ
Была такая же хрень, проблему решил тем, что у музыки изменил частоту.

23

» WarCraft 3 / Анимации атаки

Принятый ответ
Похожие вопросы:

ответ
тогда лучше всего удалить анимацию, наименее костыльный метод
ответ
8gabriel8:
Вроде ему наоборот надо Spell Throw -> Attack.
с Attack на Spell Throw

zetreisu, открываете модель в mdlvis жмакаете F3, выбераете нужную анимацию, переименовываете, жмакаете Enter и сохраняете модель при выходе.

23

» WarCraft 3 / Проблема с портретом

Похожие вопросы:

ответ
Ну в общем, я переустановил и лаги пропали, но хрен знает. Гарены у меня нет, вроде. Я ей точно не пользуюсь по крайней мере.
ответ
Лучше проверить, присоединён ли он к тем же костям, что и соседние вершины. Если нет — присоединить. Если да, то как сказали Melissa и nvc123.
ответ
Во первых нужно создать переменную типа boolean и два тригера при нажатии esc boolean = true выключаем первый тригер включаем второй, во втором при нажатии esc boolean=false и перед каждым проигрыванием синематик если boolean=true то ничего не делаем иначе выключаем и сворачиваемся. Как то так.. Не совсем понял что ты хочешь, но предположил что при нажатии еск должен скиповаться ролик. В общем суть объяснил дальше сам )
ответ
держи
ответ
Сделал моделаль, у меня работает. Посмотри может ты что-то сделал не так.

23

» WarCraft 3 / Цикл и Мультиборд

Похожие вопросы:

ответ
Melissa, Короче я разобрался - все проблемы были из-за переменной Total_Num_Players, она была подбита под живых игроков, а так как я был единственным живым игроком, то давала строку равную 1 (то есть 0+1 я). В общем спасибо, не додумал бы без твоей помощи до своей ошибки(у тебя ведь создаётся по заданому числу количество строк).

23

» WarCraft 3 / Помогите в созданием героя.

Похожие вопросы:

ответ
Ой, нашёл нужный триггер))))
Всем спасибо за внимание =)
ответ
Есть специальный ресурс , в котором ты можешь заказать способность , которую не можешь сделать сам.
ответ
~8gabriel8:
PT153, это лимит для одного игрока, то есть героя смогут нанять другие.
Нужно поставить таверне способность Продажа войск. Потом делаешь триггер:
Событие: Юнит вошёл в область (Вся игровая карта)
Условие: Триггеринг юнит равно Герой равно Да (можно этого не делать, просто исключает срабатывание триггера для каждого юнита)
Действия: несколько действий Если/То/Иначе
Если - Юнит тип (Триггеринг юнит) равно Какой-то Герой Из Таверны
То - Нейтральное здание - Удалить Какой-то Герой Из Таверны из таверны
Иначе - Ничего
И так для каждого типа героев в таверне.
ответ
Можно на скринах?

23

» WarCraft 3 / Удаление предметов с карты

Похожие вопросы:

ответ
почему так долго грузится карта
Потому что огромный Нестандартные объекты может тысяч или больше или Спелл герой до 100 уровень.
из них 60 загрузка просто висит на 1/5.
Если нетак? Проверь если есть файлы war3map.j папка Game\WarcraftIII, надо удалить файл. очень давно тоже 1 раз что за вылет или неправильно выполняет триггер.
Есть способы ускорить загрузку карты не экономя в редакторе объектов
Есть Widgetizer, там очень быстрая загрузка игра, но плохо работает спелл или текст.
ответ
мне было бы стыдно

23

» WarCraft 3 / Требуется помощь с редактором :(

Похожие вопросы:

ответ
Nikitos6, проверь галочки во вкладке "Вид"
ответ
как привязать переменную к существу
хэш,кс,структуры
выбор обширен
все варианты расписаны в статьях
ответ
Я сам разобрался с проблемой. Конечно тут две новые появились, но на них забью уже:
  1. ИИ не нравился герой, из-за него вообще никто не нанимался.
  2. ИИ посчитал, что улучшив главное здание, он лишается главного здания, а значит нужно его снова строить. То есть, например, улучшив ратушу до крепости, он считает, что ратуши больше нет и необходимо построить ещё одну. Потом он крепость улучшит до замка, посчитает, что разрушили крепость, улучшит до крепости ратушу№2, снова потеряет ратушу и построит уже третью.

23

» WarCraft 3 / Триггер на дроп

Похожие вопросы:

ответ
Не поленился, нашел:
Пора пилить статью на эту тему.
ответ
VetsaN, таких событий нету
надо записывать все предметы в бд и периодическим таймером отслеживать их состояние
смерть предмета можно отследить с помощью TriggerRegisterDeathEvent но её использование нежелательно
либо делай все предметы юнитами
вот статья про бд

23

» WarCraft 3 / Редактор

Похожие вопросы:

ответ
Делать свой ИИ, либо в редакторе ИИ, либо писать самому.
Ещё можешь дописать своих юнитов в стандартные скрипты.
ответ
Ты добавлял кости? Или через "повышение урона (улучшение)"? Значение последнего у юнита помечено — это добавится "базовый урон".
ответ
www.wc3c.net/tools/specs тут есть
NEW Frozen Throne expansion pack format of "war3map.w3u / w3t / w3b / w3d / w3a / w3h / w3q" The object data files (thanks PitzerMike):

23

» WarCraft 3 / Перенос карты

Похожие вопросы:

ответ
~8gabriel8:
Тут возможно четыре варианта:
  • Смотришь карты в кампании, а весь импорт находится в редакторе кампании, а не в карте;
  • Есть дополнительный mpq-архив с моделями и текстурами, который может самоподключаться, если расширение mix, asi, m3d, flt и какие-то ещё xgm.guru/p/wc3/advanced-mix-archive;
  • Ты просто не видел прежде этих моделей, а они входят в состав варика;
  • Возможен вариант, когда модели и текстуры у тебя на компе, к ним указан путь, начиная с буквы диска, но этот вариант мне кажется наименее вероятным, просто человек как-то пожаловался, что у него всё в игре отображается, а у друга нет, как раз в этом причина проблемы оказалась.

Ах да, ещё один вариант теоретически возможен, когда в карту добавили файлы, а в списке импорта их удалили, но проверять это на практике не приходилось.
ответ
BartSi, очень странно.
Нашёл проблему. В редакторе ландшафта нужно выбрать Camera Palette (там где юниты, декорации и прочее) выбрать первую строчку (камера без имени) и удалить. Тогда проблема решится. Сбросил триггеры и удалил камеру.
Ошибка из-за того, что у камеры почему-то пустое имя. Из-за этого её переменная оканчивается на _, что нельзя в JASS.

BartSi, каким конвертером 1.31 -> 1.26 пользовался?

Hodor, твой конвертер случайно не шаманит с камерами?
ответ
Смотри ресурсы пользователя Hodor

Прям на главной ссылка Конвертер карты в 1.26
ответ
Razor_dex, сконвертируй карту, потом открой в стандартном 1.26 редакторе, удали комментарий Рок Лии\Otome Renge
Для гуи-гигантов это типичная болячка, просто битый комментарий который содержит в себе информацию о нескольких действиях, считай как обычный триггер только отображается как комментарий
Возникает такое скорее всего при копировании

P.S. странно что редакторы до 1.31 не обращают внимания на такой баг